<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数参数的默认值</title>
</head>

<body>
    <script>
        //1  具有默认值的一般放后面
        function add(a, b, c = 10) {
            return a + b + c;
        }
        console.log(add(1, 1, 1));  //3
        console.log(add(1, 1));     //12

        //2  与解构赋值结合
        function con({ a, b, c = 88, d, e }) {
            console.log(b);
            console.log(c);
            console.log(e);
        }
        //调用
        con({
            a: 10,
            b: 11,
            // c: 12,
            d: 13,
        });


        // 3  rest 参数 用于获取函数的实参，用来替代arguments
        function date() {
            console.log(arguments);
        }
        date('a', 'b', '100');  //对象形式输出

        function date1(...args) {
            console.log(args);
        }
        date1('ww', 'ee', 'rr');   //数组形式输出

        function fn(a, b, ...args) {
            console.log(a);
            console.log(args);  //以数组形式输出剩余
        }
        fn(999, 2, 3, 4, 5, 6, 7, 8);
    </script>

</body>

</html>